<?php
/** 上传文件客户端 **/

//上传地址
$address = '127.0.0.1:8333';
//检查上传文件路径参数
if (!isset($argv[1])) {
    exit("use php client.php \$file_path \n");
}
// 上传文件路径
$file_to_transfer = trim($argv[1]);
if (!is_file($file_to_transfer)) {
    exit("$file_to_transfer not exit\n!!!");
}
// 建立 socket
$client = stream_socket_client($address,$erro,$errmsg);

if (!$client) {
    exit("$errmsg\n");
}
// 设置成阻塞
stream_set_blocking($client, 1);
// 文件名
$file_name = basename($file_to_transfer);
// 文件名长度
$name_len = strlen($file_name);
// 文件二进制数据
$file_data = file_get_contents($file_to_transfer);
$file_data = base64_encode($file_data);
$package_data = array(
    'file_name' =>$file_name,
    'file_data' =>$file_data
);
$package = json_encode($package_data)."\n";
// 执行上传
fwrite($client, $package);
// 打印结果
echo fread($client, 8192),"\n";